# 
# Copyright (c) Microsoft Corporation
# All rights reserved. 
#
# Licensed under the Apache License, Version 2.0 (the ""License""); you
# may not use this file except in compliance with the License. You may
# obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR
# CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT
# LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR
# A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT.
#
# See the Apache Version 2.0 License for specific language governing
# permissions and limitations under the License.
#
#

CXX = g++

CXXFLAGS = -std=c++11 -mfpu=neon -flax-vector-conversions -w -Og -fwhole-program #-fsanitize=integer,undefined,alignment,bool,bounds,enum,function,null,object-size,return,shift,signed-integer-overflow,unreachable,float-cast-overflow,float-divide-by-zero,integer-divide-by-zero,nonnull-attribute,null,returns-nonnull-attribute,vla-bound,vptr
LIBS = -lm -lpthread

ifeq ($(RADIO), bladeRF)
LIBS += -lbladeRF
EXTRACOPTS = -DBLADE_RF
endif

ifeq ($(RADIO), ADI_RF) 
LIBS += -liio
EXTRACOPTS += -DADI_RF
#EXTRACOPTS += -DPL_CS
endif

ifeq ($(RADIO), LIME_RF) 
LIBS += -lSoapySDR
EXTRACOPTS += -DLIME_RF #-DLOOPBACK
ifeq ($(PL), YES) 
EXTRACOPTS += -DPL_CS
endif
endif

EXECUTABLE = driver

all : driver

driver : Wrapper.cpp
	$(CXX) $(CXXFLAGS) $(EXTRACOPTS) -o $(EXECUTABLE) $+ $(LIBS)

clean:
	-rm -f *.o ./*/*.o
	-rm -f *~
	-rm -f $(EXECUTABLE)
	-rm -f *.out

